[32/36] Add OC-150 runtime assertion variables UX - #67
Conversation
|
Verdict: approve with nits. Important positive first: assertion interpolation here is safe, unlike the script-source interpolation in the variable-evaluation PR. Interpolated expressions flow into evaluateExpression's path walker (runtimeExecutionService.ts:1068+), not eval or vm, so dynamic res.body.{{field}} cannot execute anything. Keep the two surfaces distinct in your heads.
Tests: the runtime-execution side is strong (protocol-parametrized interpolation with after-response-produced values, deterministic unresolved reporting). The authoring/CSS additions are source-string scans (toContain on literal code and CSS), they prove wiring exists, not that it works. Deps: none added. |
|
Addressed in
On the test point: the source-string assertions are intentionally structural contract tests for the generated webview markup and CSS; they are not the behavioral proof. Assertion behavior is exercised through Verification at this commit: focused suite 81/81, full suite 479/479, demo collection 47/47, compile and production build passed. GitHub build/security checks pass. The PR 66 -> 67 and PR 67 -> 68 edges are |
8f9fec7 to
afdeccd
Compare
|
Correction to the review-fix location: The OC-150 assertion and response-state correction from 8f9fec7 is valid. The full sequential audit showed that retaining it on PR #67 overlaps the later PR #71 request-action guard, so I restored this branch to its assigned implementation head afdeccd and preserved the correction in PR #72 as 06ed31a. Verified final state:
|
Summary
Implements the assigned OC-150 runtime assertion-variable authoring and evaluation scope, plus the WebSocket runtime-results UX delivered by this task. The branch is restored to its original implementation head afdeccd.
Review rework ownership
The review correction from 8f9fec7 is preserved at the stack tip in PR #72 as 06ed31a. It ensures assertion diagnostics inspect authored expression and expected placeholders, prevents resolved literal brace text from being reclassified as an unresolved author reference, restores the response bar after leaving WebSocket layout, and preserves the selected WebSocket response tab.
The 37-PR sequential composition audit showed that keeping the correction on this historical branch overlaps the later PR #71 request-action guard. Locating it in PR #72 preserves both corrections without rewriting the intervening descendants.
Stack integrity and validation